package com.quanyan.place.service;

import com.quanyan.api.APIResponse;
import com.quanyan.place.entity.PlaceBuyContract;
import com.quanyan.place.entity.PlaceBuyContractDetail;
import com.quanyan.place.request.IsBuyPlaceUnitRequest;
import com.quanyan.place.response.IsBuyPlaceUnitResponse;

import java.util.List;

/**
 * 场馆购买合同信息处理
 * Created by zhang on 16/4/16.
 */
public interface PlaceBuyService {
    /*
    开票类型，分为：增值税普通发票、增值税专用发票两种，默认第一个。
    普通发票：1 增值税发票：2
     */
    Integer NORMAL_INVOICE = 1;
    Integer VAT_INVOICE = 2;

    /**
     * 添加购进场馆场地合同信息
     * @param placeBuyContract
     * @return
     */
    APIResponse<?> addPlaceBuyContract(PlaceBuyContract placeBuyContract);

    /**
     * 通过场馆Id获取购买的场馆场地信息
     * @param placeId
     * @return
     */
    APIResponse<?> getBuyPlaceInfoById(Integer placeId);

    /**
     * 通过场馆Id获取场馆场地购买合同信息
     * @param placeId
     * @return
     */
    APIResponse<?> getPlaceBuyContractInfoByPlaceId(Integer placeId);

    /**
     * 判断场馆场地是否买入
     * @param is
     * @return
     */
    IsBuyPlaceUnitResponse isBuyPlaceUnit(IsBuyPlaceUnitRequest is);

    /**
     * 通过场馆ID获取场地营业时间列表
     * @param placeUnitId
     * @return
     */
    APIResponse<?> getPlaceUnitTimeList(Integer placeUnitId);

    /**
     * 判断要删除的场馆或者场地是否可以删除
     * @param type :判断场馆是否可以删除type为1，判断场馆内的场地是否可以删除type为2
     * @param param :如果type==1，则param为场馆ID;如果type==2，则param为场馆场地ID
     * @return 可删除则返回true，否则返回false
     */
    boolean isDeletePlace(Integer param,Integer type);


    public List<PlaceBuyContractDetail> getPlaceBuyContractDetailByPlaceUnitId(Integer placeUnitId, Integer attractId);

}
